সিলেক্ট অপারেশন (Select ক্লজ)

Microsoft Technologies - লিংক (LinQ) বেসিক LINQ অপারেশন (Basic LINQ Operations) |
177
177

LINQ এর Select ক্লজ একটি অত্যন্ত গুরুত্বপূর্ণ এবং জনপ্রিয় অপারেশন যা একটি সংগ্রহ থেকে নির্দিষ্ট উপাদান নির্বাচন করতে ব্যবহৃত হয়। Select ক্লজটি মূলত Projection Operation হিসাবে কাজ করে, যার মাধ্যমে আপনি একটি নতুন ডেটা সংগ্রহ তৈরি করতে পারেন যা মূল সংগ্রহের এক বা একাধিক উপাদান থেকে নির্বাচিত বা রূপান্তরিত তথ্য ধারণ করে।

Select ক্লজের মাধ্যমে আপনি:

  • একটি নির্দিষ্ট প্রোপার্টি বা ফিল্ড নির্বাচন করতে পারেন।
  • কোনো কাস্টম অবজেক্ট বা টাইপ তৈরি করতে পারেন।
  • ডেটার মান পরিবর্তন বা রূপান্তর করতে পারেন।

Select ক্লজ ব্যবহার (Query Syntax)

Query Syntax-এ select কিওয়ার্ড ব্যবহার করে আপনি ডেটা নির্বাচন করেন। এখানে ডেটার উপর কোনো পরিবর্তন বা ফিল্টার প্রয়োগ করতে পারেন এবং নতুন ডেটা গঠন করতে পারেন।

উদাহরণ:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };

// প্রতি সংখ্যার গুণফল বের করা
var squares = from num in numbers
              select num * num;

foreach (var square in squares)
{
    Console.WriteLine(square);  // Output: 1, 4, 9, 16, 25, 36
}

এখানে, select ক্লজটি num * num করে প্রতিটি সংখ্যা থেকে তার গুণফল বের করেছে।


Select ক্লজ ব্যবহার (Method Syntax)

Method Syntax-এ Select() মেথড ব্যবহার করা হয়, যা LINQ এর এক ধরনের ফাংশনাল স্টাইল। এটি Lambda Expressions ব্যবহার করে ডেটা নির্বাচন ও রূপান্তর করার সুবিধা দেয়।

উদাহরণ:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };

// প্রতি সংখ্যার গুণফল বের করা
var squares = numbers.Select(num => num * num);

foreach (var square in squares)
{
    Console.WriteLine(square);  // Output: 1, 4, 9, 16, 25, 36
}

এখানে, Select(num => num * num) মাধ্যমে প্রতিটি সংখ্যা তার গুণফলে রূপান্তরিত হয়েছে।


Select ক্লজে কাস্টম অবজেক্ট তৈরি

Select ক্লজ ব্যবহার করে আপনি নতুন কাস্টম অবজেক্ট তৈরি করতে পারেন, যা মূল অবজেক্টের প্রোপার্টি বা ফিল্ডের ভিত্তিতে নির্মিত হয়।

উদাহরণ:

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 30 },
    new Person { Name = "Charlie", Age = 35 }
};

// কাস্টম অবজেক্ট তৈরি
var selectedPeople = people.Select(p => new { p.Name, AgeInFiveYears = p.Age + 5 });

foreach (var person in selectedPeople)
{
    Console.WriteLine($"Name: {person.Name}, Age in 5 years: {person.AgeInFiveYears}");
}

এখানে, Select ক্লজের মাধ্যমে একটি নতুন anonymous object তৈরি করা হয়েছে, যেখানে Name এবং AgeInFiveYears (এলিয়াস হিসেবে) ফিল্ড রয়েছে।


Select ক্লজের মাধ্যমে Nested ডেটা নির্বাচন

Select ক্লজ ব্যবহার করে আপনি একাধিক স্তরের (nested) ডেটা নির্বাচন করতে পারেন। এই পদ্ধতিতে একটি ডেটা অবজেক্টের মধ্যে থাকা অন্য ডেটা অবজেক্ট বা সংগ্রহের তথ্য নির্বাচন করা হয়।

উদাহরণ:

List<Order> orders = new List<Order>
{
    new Order { OrderId = 1, Customer = "Alice", Items = new List<string> { "Item1", "Item2" } },
    new Order { OrderId = 2, Customer = "Bob", Items = new List<string> { "Item3", "Item4" } },
    new Order { OrderId = 3, Customer = "Charlie", Items = new List<string> { "Item5", "Item6" } }
};

// প্রতিটি অর্ডারের আইটেমসমূহ নির্বাচন করা
var orderItems = orders.Select(o => new { o.Customer, Items = string.Join(", ", o.Items) });

foreach (var order in orderItems)
{
    Console.WriteLine($"Customer: {order.Customer}, Items: {order.Items}");
}

এখানে Order ক্লাসের মধ্যে থাকা Items নামক লিস্ট থেকে প্রতিটি অর্ডারের আইটেমগুলো একত্রিত করে একটি নতুন তথ্য তৈরি করা হয়েছে।


Select ক্লজের মাধ্যমে স্ট্রিং রূপান্তর (String Transformation)

Select ক্লজ ব্যবহার করে আপনি স্ট্রিং ডেটার মধ্যে রূপান্তর করতে পারেন, যেমন স্ট্রিংয়ের অক্ষর পরিবর্তন বা স্ট্রিংয়ের অংশ নির্বাচন।

উদাহরণ:

List<string> names = new List<string> { "alice", "bob", "charlie" };

// নামগুলো বড় হাতের অক্ষরে রূপান্তর করা
var upperNames = names.Select(name => name.ToUpper());

foreach (var name in upperNames)
{
    Console.WriteLine(name);  // Output: ALICE, BOB, CHARLIE
}

এখানে, প্রতিটি নামকে uppercase এ রূপান্তর করা হয়েছে Select ক্লজের মাধ্যমে।


Select ক্লজের মাধ্যমে সংখ্যা গণনা (Count Calculation)

Select ক্লজ ব্যবহার করে আপনি ডেটার উপর ভিত্তি করে গণনা বা মোট কিছু হিসাব করতে পারেন।

উদাহরণ:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };

// সংখ্যাগুলোর মোট যোগফল বের করা
var totalSum = numbers.Select(num => num).Sum();

Console.WriteLine(totalSum);  // Output: 21

এখানে, Select(num => num) থেকে সমস্ত সংখ্যা নির্বাচন করে তাদের যোগফল বের করা হয়েছে।


সারাংশ

Select ক্লজ LINQ এর একটি গুরুত্বপূর্ণ ফিচার, যা ডেটাকে ফিল্টার বা রূপান্তর করার জন্য ব্যবহৃত হয়। এটি ব্যবহারে ডেটার একাধিক শর্ত, কাস্টম অবজেক্ট তৈরি, এবং সংখ্যার বা স্ট্রিংয়ের উপর রূপান্তর করা সহজ এবং কার্যকর হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion